//
//  ViewController.m
//  任务清单
//
//  Created by apple on 15/9/10.
//  Copyright (c) 2015年 戴维营. All rights reserved.
//

#import "ViewController.h"
#import "TFHpple.h"
#import "AFNetworking.h"
#import "UIKit+AFNetworking.h"


@interface ViewController () <UITableViewDataSource,UITableViewDelegate>
{
    NSMutableArray *_array;
    UITableView *_tableView;
    NSIndexPath *_deleteIndexPath;
    
    
    NSString *_filePath;//路径；
    
    NSMutableArray *_array1;
}
@property (weak, nonatomic) IBOutlet UITextField *displayTextField;


@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    _filePath = @"http://www.qiushibaike.com／text";
    _array = [NSMutableArray array];
    
//    ------------------------------------------------
    
    
    CGSize size = self.view.frame.size;
    
    //创建－－－> UITableView

    //创建UITableView对象，有两种样式的TableView:普通样式和分组样式；
    
    CGRect tableRect = CGRectMake(0, 150,size.width , size.height);
    
    _tableView = [[UITableView alloc]initWithFrame:tableRect style:UITableViewStylePlain];
    
    //注册UITableView 使用的cell
    
    [_tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"cell"];
    
    //设置UITableView的代理
    
    _tableView.dataSource = self;
    
    _tableView.delegate = self;
    
    [self.view addSubview:_tableView];
    

    // Do any additional setup after loading the view, typically from a nib.
}
- (IBAction)didSaveClick:(UIButton *)sender
{
    //删除输入字符串中前后的空白字符；
    NSString *str = [_displayTextField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
    if (str.length == 0)
    {
        return;
    }
    //判断数组对象是否存在
    
    if (_array == nil)
    {
        _array = [NSMutableArray array];
    }
    
    [_array addObject:str];
    
    _displayTextField.text = nil;
    
    //刷新表格；
    [_tableView reloadData];

}

#pragma mark - 必须实现的代理方法

//一个分组有多少行

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return _array.count;
}

//每一行的显示是什么样的
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [_tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
    
    cell.textLabel.text = _array[indexPath.row];
    
    return cell;
}

//开始进行编辑操作，比如删除和插入

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete)
    {
        _deleteIndexPath = indexPath;
        
        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"确定要删除这个任务嘛?" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
        
        //弹出提示框
        [alertView show];
    }
}

- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex
{
//    buttonIndex从0开始，表示不同的位置，取消按钮在第0位置；
                                               
//    NSLog(@"%ld",(long)buttonIndex);
    
    if (buttonIndex == 1)
    {
        [_array removeObjectAtIndex:_deleteIndexPath.row];
        
        [_tableView deleteRowsAtIndexPaths:@[_deleteIndexPath] withRowAnimation:UITableViewRowAnimationFade];
    }
    else
    {
        //刷新一个cell使他恢复正常状态
        
        [_tableView reloadRowsAtIndexPaths:@[_deleteIndexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
       
        _deleteIndexPath = nil;
    }

}

//默认cell高度为44.0f

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 40;
}


//获取用户选择

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"section:%ld,row:%ld",indexPath.section,indexPath.row);
    
    
    //选择阴影部分不会一直显示
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}



//－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－
#if 0
    UITableViewCell *cell = [tableView dequeueReusableCellWithIndntifier:@"cell" forIndexPath:indexPath];

    1、UITableViewCell上下滚动的时候，会多次的调用代理方法，并且重用（反复使用）已有的cell对象；

    2、超出可视区域的cell会被回收重复使用；

    3、cell根据注册时使用的identifier分类重用；

#endif
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
